package main

import (
	"fmt"
)

type K struct {
	int
}

func (t K) testK() {
	fmt.Println("类型 *K 方法集包含全部 receiver K 方法。")
}

func (t *K) testP() {
	fmt.Println("类型 *K 方法集包含全部 receiver *K 方法。")
}

// 类型 `*K` 方法集包含全部 `receiver K + *K` 方法
func main() {
	t1 := K{1}
	t2 := &t1
	fmt.Printf("t2 is : %v\n", t2) // t2 is : &{1}
	t2.testK()                     // 类型 *K 方法集包含全部 receiver K 方法。
	t2.testP()                     // 类型 *K 方法集包含全部 receiver *K 方法。
}
